/*
 * EnigmaGM - A feature rich guild management system.
 * Copyright (C) 2007 ajiaojr.
 * 
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 * 02110-1301, USA.
 */
package org.ajiaojr.enigmagm.client.data;

import java.io.Serializable;

/**
 * Represents an in-game character.
 * 
 * @author ajiaojr
 */
public class Character implements Serializable {
  /**
   * 
   */
  private static final long serialVersionUID = -4134602773811403163L;

  private String characterClass;

  private int characterID;

  private String characterName;

  private int level;

  private String race;

  private String rank;

  /**
   * Constructs a new instance.
   */
  public Character() {
  }

  /**
   * @param characterID
   * @param characterName
   * @param level
   * @param race
   * @param characterClass
   * @param rank
   */
  public Character(int characterID, String characterName, int level,
      String race, String characterClass, String rank) {
    this.characterID = characterID;
    this.characterName = characterName;
    this.level = level;
    this.characterClass = characterClass;
    this.race = race;
    this.rank = rank;
  }

  /**
   * Constructs a new instance with the specified details.
   * 
   * @param characterName
   *          name of the character.
   * @param level
   *          level of the character.
   * @param race
   *          race of the character.
   * @param characterClass
   *          class of the character.
   * @param rank
   *          rank within the guild.
   * @deprecated Due to be removed in version 0.2.0
   */
  public Character(String characterName, int level, String race,
      String characterClass, String rank) {
    this.race = race;
    this.characterClass = characterClass;
    this.characterName = characterName;
    this.level = level;
    this.rank = rank;
  }

  public String getCharacterClass() {
    return characterClass;
  }

  public int getCharacterID() {
    return characterID;
  }

  public String getCharacterName() {
    return characterName;
  }

  public int getLevel() {
    return level;
  }

  public String getRace() {
    return race;
  }

  public String getRank() {
    return rank;
  }

  public void setCharacterClass(String characterClass) {
    this.characterClass = characterClass;
  }

  public void setCharacterID(int characterID) {
    this.characterID = characterID;
  }

  public void setCharacterName(String characterName) {
    this.characterName = characterName;
  }

  public void setLevel(int level) {
    this.level = level;
  }

  public void setRace(String race) {
    this.race = race;
  }

  public void setRank(String rank) {
    this.rank = rank;
  }
}
